package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.Category;
import com.ruoyi.system.domain.vo.CategoryAndParentNameVo;

/**
 * 类别Mapper接口
 * 
 * @author ruoyi
 * @date 2022-01-24
 */
public interface CategoryMapper 
{

    public List<Category> selectIdByName(Category category);

    /**
     * 查询类别列表带名字
     *
     * @param categoryAndParentNameVo 类别
     * @return 类别集合
     */
    public List<CategoryAndParentNameVo> selectCategoryListAndParentName(CategoryAndParentNameVo categoryAndParentNameVo);

    /**
     * 查询类别
     * 
     * @param categoryId 类别主键
     * @return 类别
     */
    public Category selectCategoryByCategoryId(Long categoryId);

    /**
     * 查询类别列表
     * 
     * @param category 类别
     * @return 类别集合
     */
    public List<Category> selectCategoryList(Category category);

    /**
     * 新增类别
     * 
     * @param category 类别
     * @return 结果
     */
    public int insertCategory(Category category);

    /**
     * 修改类别
     * 
     * @param category 类别
     * @return 结果
     */
    public int updateCategory(Category category);

    /**
     * 删除类别
     * 
     * @param categoryId 类别主键
     * @return 结果
     */
    public int deleteCategoryByCategoryId(Long categoryId);

    /**
     * 批量删除类别
     * 
     * @param categoryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCategoryByCategoryIds(Long[] categoryIds);
}
